package org.pay.union.param.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel("被扫支付参数")
public class UnifiedTradeReq implements Serializable {
    /**
     * 商户系统内部的订单号 ,5到32个字符、 只能包含字母数字或者下划线，区分大小写，每次下单请求确保在商户系统唯一
     */
    @ApiModelProperty(value = "商户系统内部的订单号", required = false)
    private String outTradeNo;
    /**
     * 商户及商品名称
     */
    @ApiModelProperty(value = "商户及商品名称", required = true)
    private String body;
    /**
     * 总金额，以分为单位，不允许包含任何字、符号
     */
    @ApiModelProperty(value = "总金额", required = true)
    private Long totalFee;
    /**
     * 订单生成的机器 IP
     */
    @ApiModelProperty(value = "订单生成的机器IP", required = false)
    private String mchCreateIp;
    /**
     * 扫码支付授权码， 设备读取用户展示的条码或者二维码信息
     */
    @ApiModelProperty(value = "扫码支付授权码", required = true)
    private String authCode;
    /**
     * 商户侧受理终端信息，字段详
     * 细说明参考统一被扫其他扩展字段说明。
     */
    @ApiModelProperty(value = "商户侧受理终端信息", required = false)
    private String terminalInfo;
}
